home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
asm
/
AmigaGS-Dev.lha
/
AmigaGS
/
IlbmView.exe.s
< prev
next >
Wrap
Text File
|
2000-04-13
|
2KB
|
112 lines
; **************************
; * *
; * AMIGA GAME STUDIO BETA *
; * *
; *------------------------*
; * *
; * Example de viewer pour *
; * des images iff/ilbm de *
; * 2 à 256 couleurs . *
; * *
; **************************
;
; Fichier startup de AGS.
Include "AmigaGS:AmigaGS-Startup.s"
;
;
; VOTRE PROGRAMME COMMENCERA ICI !!!!!!!!
;
; Mise en place du copper AGA.
LibCall Display,Ags_Display
;
; On prend les valeurs IFF/ILBM
Lea.l Ilbm,a0
LibCall FxIlbm,IlbmXSize
Lea.l X,a0
Move.l d0,(a0)
;
Lea.l Ilbm,a0
LibCall FxIlbm,IlbmYSize
Lea.l Y,a0
Move.l d0,(a0)
;
Lea.l Ilbm,a0
LibCall FxIlbm,IlbmDepth
Lea.l Depth,a0
Move.l d0,(a0)
;
; Ouverture de l'ecran necessaire.
Lea.l X,a0
Moveq.l #0,d0 ; Ecran 0
Movem.l (a0)+,d1/d2/d3 ; X,Y,Depth.
; Moveq.l #8,d3
LibCall Screens,Screen_Open
; On place l'ecran dans le display AmigaGS.
Moveq.l #0,d0
LibCall Screens,Screen_Base
LibCall Display,Ags_Screen
; On va convertir l'image IFF/ILBM Dans l'ecran.
Moveq.l #0,d0
LibCall Screens,Screen_Base
Lea.l Ilbm,a1
LibCall FxIlbm,IlbmConvert
; Pour finir,On va placer la bonne palette de couleur.
Lea.l Ilbm,a0
LibCall FxIlbm,IlbmPalette ; ->A0=palette base
Lea.l CMAP,a1
Move.l a0,(a1)
Lea.l Depth,a1
Move.l (a1),d0 ; D0=#bpls
Lsl.w #1,d0
Lea.l DepthMask,a4
Add.w d0,a4
Lea.l Depth,a0
clr.l (a0)
;
; On redéfinit ??? couleurs selon le déssin.
Lea.l CMAP,a0
Lea.l Depth,a1
Move.l (a0),a3 ; A3=Palette Pointer.
Add.l #4,a3
Move.l (a1),d0 ; D0=Couleur en cours.
bcl2
Clr.l d1
Move.b (a3)+,d1 ; D1=ROUGE.
Clr.l d2
Move.b (a3)+,d2 ; D2=VERT.
Clr.l d3
Move.b (a3)+,d3 ; D3=BLEU.
LibCall Display,Ags_SetColor
Lea.l Depth,a0
Addq.l #1,(a0)
Move.l (a0),d0 ; D0=Prochaine couleur.
Cmp.w (a4),d0
Blt.b bcl2
;
; On attend l'appui sur le bouton gauche de la souris.
wlc
LibCall Joyport,Joy0Fire1State
Tst.b d0
Beq.b wlc
; On revient au workbench,on remet tout à 0 et on quitte.
_Fin1:
LibCall Display,WB_Display
ScreenClose 0
Moveq.l #0,d0
Rts
;
; Autres librairies définissables par l'utilisateur
;
X: Dc.l 0
Y: Dc.l 0
Depth: Dc.l 0
CMAP: Dc.l 0
DepthMask:
Dc.w 0,2,4,8,16,32,64,128,256
Ilbm:
Incbin "AmigaGS:Samples/Sample.lbm"